tg-me.com/phpproglib/5612
Last Update:
Repository Pattern в PHP
Сегодня мы узнаем про шаблон проектирования «Репозиторий» («Repository Pattern»), его особенности и сферы применения, а также сравнение его с другими подходами к доступу к данным, такими как ORM (Object-Relational Mapping).
Шаблон «Репозиторий» представляет собой абстракцию источника данных, который ведет себя как коллекция, содержащая объекты доменной модели. Эта абстракция представлена интерфейсом Repository и обычно содержит методы для получения, сохранения и удаления объектов.
Репозиторий считается единственным источником правды для извлечения и сохранения объектов доменной модели.
❌ Чем Репозиторий НЕ является?
🏭 Не является фабрикой, так как не создает объекты, а только содержит их.
🗄️ Не ORM, не зависит от способа получения объектов (через базу данных, файлы и т. д.).
🖋️ Различия между Репозиториями для Чтения и Записи:
✍️ Репозитории для записи используются для сохранения, обновления и удаления объектов.
📖 Репозитории для чтения предоставляют контекстно-специфичные модели объектов для целей чтения.
Другие аспекты включают в себя соглашения по именованию методов (например, get vs. find), использование ViewModel для представления объектов в различных контекстах, а также возможность замены технической реализации репозитория, например, для доступа к данным через внешние сервисы.
🤔 Когда НЕ использовать Репозиторий?
🚫 Для небольших CRUD-приложений.
🚫 Для создания больших отчетов.
Репозиторий представляет собой полезный инструмент для управления доступом к данным в приложениях, особенно в больших и сложных системах, где требуется абстрагирование слоя доступа к данным от остальных компонентов приложения.
👉 Читать полностью
BY Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/phpproglib/5612